package cn.hls.service;

import java.util.List;
import java.util.Map;

import cn.hls.entity.CertSet;
import cn.hls.entity.Member;
import cn.hls.entity.vo.PageInfo;

/**
 * @fileName: MemberDao.java
 * @package: cn.christ.dao
 * @Description: 会友业务业务逻辑接口类
 * @author: yinghui.zhang
 * @email: uuhui@163.com
 * @date: 2015-7-18
 */
public interface MemberService extends BaseService<Member> {

	 
		/**
		 * 分页查询人员信息
		 * 
		 * @param entity  人员基本信息
		 * @param page 分页参数
		 * @param orgIds 组织编号      
		 * @return PageInfo<Org>
		 */
		PageInfo<Member> loadMemberInfo(Member entity, PageInfo<Member> page) throws Exception;

		/**
		 * 根据查询条件查询人员信息
		 * @param entity 查询对象
		 * @return List<Member>
		 * @throws Exception
		 */
		List<Member>loadMemberList(Member entity)throws Exception;
		/**
		 * 人员List集合转换成key为企业编号，value为人员信息集合的Map集合
		 * @param memberList 人员集合
		 * @return Map<Integer,Member>
		 * @throws Exception
		 */
		Map<Long,List<Member>>getMemberListToMap(List<Member> memberList)throws Exception;
		
		/**
		 * 判断人员信息是否存在
		 * @param entity　人员对象
		 * @return boolean
		 * @throws Exception 查询数据异常
		 */
		boolean exists(Member entity) throws Exception;
		
		/**
		 * 汇总统计员工证书过期数
		 * @param companyId 企业编号
		 * @return Map<String,Integer>
		 * @throws Exception
		 */
		Map<String,Integer>loadExpiredMembers(Long companyId)throws Exception;
		/**
		 * 查询证件过期的员工信息
		 * @return List<Member>
		 * @throws Exception
		 */
		List<Member> loadMemberOfExpired()throws Exception;

}
